import java.util.*;

public class Test {
    public static void main6(String[] args) {
        TreeMap<String,String> map = new TreeMap<>();
        map.put("超星神","兽王");
        map.put("弹珠精灵","巴布鸟");

        System.out.println(map);

        System.out.println("===========");

        HashMap<String,String> map2 = new HashMap<>();
        map2.put("超星神","兽王");
        map2.put("弹珠精灵","巴布鸟");
        System.out.println(map2);

    }


    public static void main5(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("神奇宝贝","皮卡丘");
        map.put("弹珠精灵","巴布鸟");// k = "弹珠精灵" ,v = "巴布鸟"
        System.out.println(map);
        System.out.println("=================");
        Set<Map.Entry<String,String>> entrySet = map.entrySet();
        for (Map.Entry<String,String> eS:entrySet) {
            System.out.println("Key = "+eS.getKey() + "; value = "+eS.getValue());
        }
    }

    public static void main4(String[] args) {
        Map<String,String> map = new HashMap<>();
        map.put("弹珠精灵","巴布鸟");// k = "弹珠精灵" ,v = "巴布鸟"
        map.put("神奇宝贝","皮卡丘");
        boolean flag = map.containsKey("弹珠精灵");
        System.out.println(flag);
        boolean flag1 = map.containsKey("铁甲小宝");
        System.out.println(flag1);
        System.out.println("============");
        boolean flag2 = map.containsValue("皮卡丘");
        System.out.println(flag2);
        boolean flag3 = map.containsValue("妹纸");
        System.out.println(flag3);
    }


    public static void main3(String[] args) {
        // 尖括号的里面k，v 还是跟前面讲的是一样的，必须是 类的类型。
        // 一旦指定类型之后，后面将无法专递其他类型的数据
        Map<String,String> map = new HashMap<>();
        map.put("弹珠精灵","巴布鸟");// k = "弹珠精灵" ,v = "巴布鸟"
        map.put("神奇宝贝","皮卡丘");

        // 还记得我前面讲的嘛。k 值 与 v 值是一个映射对应关系
        // 说到弹珠精灵，你就想想到巴布鸟，说到神奇宝贝，就会想到皮卡丘
        // 这就是映射关系。拿到 k ,就相当于 拿到了 v。

        //这里我们是get功能来验证
        // get 跟 所给 k值，找到对应的v值，并将其返回
        // 此时我们的v值，是一个 String类型，所以，我们使用一个 String 类型的变量来接收。
        String ret = map.get("神奇宝贝");
        System.out.println(ret);
        // 此时我们找一下，铁甲小宝对应v值是一个角色，有没有？
        // 没有。因为我没有添加
        String ret1 = map.get("铁甲小宝");
        System.out.println(ret1);
        // 对不起，我已经长大了，我喜欢妹纸
        String ret2 = map.getOrDefault("铁甲小宝","女警官");
        System.out.println(ret2);

        String ret3 = map.getOrDefault("弹珠精灵","妹纸");
        System.out.println(ret3);
        Map<String,String> map1 = new TreeMap<>();
    }

    public static void main2(String[] args) {
        Collection<String> collection = new ArrayList<>();
        collection.add("H");
        collection.add("e");
        collection.add("l");
        collection.add("l");
        collection.add("o");
        String[] objects = (String[]) collection.toArray();
        System.out.println(Arrays.toString(objects));
    }

    public static void main1(String[] args) {
        Collection<String> collection = new ArrayList<>();//collection引用，引用的是ArrayList的对象
        System.out.println(collection.isEmpty());

        Collection<Integer> collection1 = new ArrayList<>();
        collection1.add(1);
        collection1.add(2);
        collection1.add(3);
        collection1.add(2);
        System.out.println(collection1);
//        collection1.clear();
        collection1.remove(2);
        System.out.println(collection1);
        System.out.println(collection1.size());
    }
}
